
//app.js
App({
  onLaunch: function () {
    this.globalData.userShow = true
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    try {
      var flag = wx.getStorageSync('userShow')
      if (flag === 'NO') {
        this.globalData.userShow = false
      }
    } catch (e) {
      // Do something when catch error
    }
    // 登录
    wx.login({
      success: res => {
        // console.log(res,'登录')
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        // console.log('获取用户信息')
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调 用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // console.log('已授权')
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
    wx.cloud.init({
      env: 'zjl2020-8gqtwrwqc20bc6b0'
    })
  },
  onShow:function(options){
      //跳转回商户小程序参数示例：{"code": 0,"data":{"orderNo":"123456"},"msg": "支付成功"}
      let extraData=options.referrerInfo.extraData;
      console.log(extraData,'app返回结果');
      if(extraData){
          //不管成功失败 先把支付结果赋值
          this.globalData.payStatus=extraData.code==0?true:false;
          if(extraData.code!=0){
            console.log(extraData,'失败')
            wx.showToast({
              title: extraData.msg,//错误提示
              icon: 'none',
              duration: 3000
            });
            return;
          }
          //支付成功
          this.globalData.orderNo=extraData.data.orderNo;
       }
  },
  globalData: {
    userInfo: null,
    userShow:null,
    payStatus:null,//支付状态
	  orderNo:null//订单号
  }
})
/*
小程序获取用户信息
1.初始化小程序onLaunch设置userShow为true，如果用户没有获取信息就不会设置false，一直存在弹框
2.当用户点击弹框确定，这时候调用button获取用户信息，弹框取消（不做操作，关闭即可）
3.点击确定，拒绝获取按钮，这时也不操作，关闭弹框即可，
4.点击弹框确定，button允许获取信息，再把userShow设置为false，userInfo传递给app。js


*/ 